AWS Backup のタグ指定バックアップでタグの指定を誤り期待通りに動かなかったときの原因と対処方法
AWS Backup で特定タグを付与しているリソースのバックアップ取得設定をしました。ところが、必要なタグを設定していたつもりが、バックアップは走りませんでした。原因は初歩的なミスだったのですが切り分けに時間がかかりました。タグ指定でバックアップが取れないときの切り分け内容の備忘録です。
一般的なトラブルシューティングは以下のリンクを参考にしてください。
原因
タグにブランクが含まれていただけでした。ですが、マネージメントコンソールから発見難度は高めです。
比較画像
タグの違いを確認しやすいように 1 つの EC2 インスタンスに同じタグを設定しました。見ての通りなのですがマネージメントコンソールから確認すると末尾にブランクがあるかないかわかりません。
タグの編集画面だと気付けるかもしれません。
※ 1 つの EC2 インスタンスに同じキー名のタグは入力できません。
切り分け
トラブルシューティングガイドが用意されていますので一般的な切り分けではまず参考となるドキュメントです。
しかし、タグ指定のバックアップでタグを間違える初歩的なミスについては言及されていません。当然なので仕方がありません。一般的なトラブルシューティングを行い、AWS Backup の設定を見直したり、バックアップ時間帯の CloudTrail のログを確認して遠回りしました。
ここで気付けた
原因が特定できないため新たにバックアッププランを作成することにしました。リソースの割り当て条件を新規に作成時、キー入力時に同じタグが 2 つ表示されたためキーがなにか違うと気が付きました。
その後、実際にタグが付与されている EC2 インスタンスのタグの編集画面を開き、末尾にブランクが入っていることが原因だと確認できました。
他の発見手法を考えてみる
他にタグの末尾にブランク混入に気付けそうな方法をまとめます。
タグエディター
タグエディターでタグ名入力すると同じタグ名が表示されます。タグの設定ミスを疑えます。
AWS CLI
AWS Backup でタグ指定したタグキーと、タグバリューを AWS CLI で検索します。ヒットしなければタグの設定ミスを疑えます。
aws ec2 describe-tags --filters Name=tag:${TAG_KEY},Values=${TAG_VALUE} --output table
$ aws ec2 describe-tags --filters Name=tag:AWSBackup,Values=true --output table ----------------------------------------------------------------- | DescribeTags | +---------------------------------------------------------------+ || Tags || |+-----------+-----------------------+----------------+--------+| || Key | ResourceId | ResourceType | Value || |+-----------+-----------------------+----------------+--------+| || AWSBackup| i-072f692e215503796 | instance | true || |+-----------+-----------------------+----------------+--------+|
対処方法
タグ指定のバックアップですので、不要なブランクを削除しました。翌日からは AWS Backup でバックアップ取得できるようになりました。
おわりに
CloudTrail からログを確認してもバックアップが走っている形跡もないしなぜかと思ったのですが初歩的なミスが原因でした。 タグをコピペするとブランクが混入するかもしれません。ペーストしたときに念のため確認しておくと未然に防げるかもしれません。
最後に AWS Backup の構成要素については以下の記事がわかりやすいのでオススメです。